import { useUserInfo } from '@/stores/userInfo.js'
export const host = 'https://test-api.scilive.cn' //url 地址

export function alert(obj) /* 弹窗*/ {
	//	这个地方说白了就是 如果只是想提示一句话一个文本的话 就只是弹个小tips
	if (typeof obj == "string" || typeof obj == "number") {
		uni.showToast({
			'title': "" + obj + "",
			'icon': 'none',
			duration: 3000,
		});
		return;
	}
	//	标题
	obj.title = obj.title ? obj.title : "";
	//	提示内容
	obj.value = obj.value ? obj.value : "";
	//	跳转页面
	obj.url = obj.url ? obj.url : "";
	//	确定文本
	obj.confirmText = obj.confirmText ? obj.confirmText : "确定";
	//	取消按钮
	obj.cancel = obj.cancel === false ? false : true;
	//	是否关闭当前页面
	obj.close = obj.close ? obj.close : false;
	//	取消文本
	obj.cancelText = obj.cancelText ? obj.cancelText : "取消";
	//	调起
	uni.showModal({
		title: obj.title,
		content: obj.value,
		confirmText: obj.confirmText,
		showCancel: obj.cancel,
		cancelText: obj.cancelText,
		success: function(res) {
			obj.success ? obj.success(res) : function() {};
		}
	});

}

export function HttpRequest(params) /*发送网络请求*/ {
	const userInfo = useUserInfo()
	//	返回方法
	return new Promise((resolve, reject) => {
		//	请求地址
		var url = host + (params.url ? params.url : '/api/index/index');
		//	是否打开加载效果
		if (params.load) {
			uni.showLoading({
				title: params.loadTxt ? params.loadTxt : "加载中",
			})
		}
		let header = {
			'client-type':	'alipayprogram',
		}
		if(params.auth){
			Object.assign( header, {
				'authorization':'Bearer '+ userInfo.isLogin()
			})
		}
		//	发起网络请求
		uni.request({
			//	请求地址
			url: url,
			//	请求方式 get/post
			method: params.type ? params.type : "POST",
			//	是否开启SSL验证
			sslVerify: false,
			//	请求参数
			data: params.data,
			//	header请求头
			header: params.header ? Object.assign(header, params.header) : header,
			//	数据类型
			dataType: 'json',
			//	请求成功返回
			success(res) {
				//	关闭加载效果
				if (params.load) {
					uni.hideLoading()
				}
				//	嵌套式回调
				params.success ? params.success(res.data) : function() {};
				//	链式回调
				resolve(res.data);
			},
			//	请求失败返回
			fail(res) {
				
				//	关闭加载效果
				if (params.load) {
					uni.hideLoading()
				}
				if (res.statusCode == 401 && (res.data.code == 1002 || res.data.code == 1003 || res.data.code == 1001)) { //token失效
					userInfo.removeToken()
					uni.showToast({
						title:'登录过期，请重新登录'
					})
				}
				
				//	嵌套式回调
				params.fail ? params.fail(res) : function() {};

				//	链式回调
				reject(res)
			},
			complete() {
				//	嵌套式回调
				params.complete ? params.complete() : function() {};
			},
		})
	})
}